package com.xiangxiangjd.service;

import com.xiangxiangjd.bean.Role;
import com.xiangxiangjd.bean.Unit;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiangxiangjd.bean.result.ResultPage;
import com.xiangxiangjd.controller.model.ApiResultModel;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 肖守凯
 * @since 2021-07-15
 */
public interface UnitService extends IService<Unit> {

     /** 添加Unit
     * @param unit  前端传进的参数
     * @return 返回统一信息
     */
   ApiResultModel addUnit(Unit unit  );

    /** 编辑跳转页面的回显数据Unit
     * @param id  前端传进的参数
     * @return 返回实体类
     */
    Unit selectUnitByIdUnit(String id );

     /** 编辑Unit
     * @param unit  前端传进的参数
     * @return 返回统一信息
     */
   ApiResultModel editUnit(Unit unit  );


     /** 删除一条Unit
     * @param ids  前端传进的ID
     * @return 返回统一信息
     */
      ApiResultModel delUnits( List ids  );


   /** 分页查询Unit
     * @param page  页码
     * @param limit  查几条
     * @param unit  前端传进的参数
     * @return 返回统一分页信息
     */
   ResultPage findUnitByPage(Integer page, Integer limit,Unit unit);

    /**
     * 获取树形结构
     * @return
     */
    List<Unit> getTreeUnit();

    /**
     * 获取所有的父级结构
     * @param unitId
     * @return
     */
    List<Unit> getFatherAll(String unitId);

    /**
     * 获取所有的下级
     * @param unitId
     * @return
     */
     List<Unit> getSubsetAll(String unitId);
}
